using StudyCompanion.Dto.Study;
using StudyCompanion.Model.Study;

namespace StudyCompanion.IServices;

public interface IStudyService
{
    /// <summary>
    ///     年级列表
    /// </summary>
    /// <returns></returns>
    List<ClassListVo> ClassList();

    /// <summary>
    ///     年级下学科
    /// </summary>
    /// <param name="cId"></param>
    /// <returns></returns>
    List<SubjectListVo> SubjectList(long cId);

    /// <summary>
    ///     学科的出版社
    /// </summary>
    /// <param name="sId"></param>
    /// <returns></returns>
    List<PressListVo> PressList(long sId);

    /// <summary>
    ///     出版社的章节
    /// </summary>
    /// <param name="pId"></param>
    /// <returns></returns>
    List<SectionListVo> SectionList(long pId);

    /// <summary>
    ///     章节课程
    /// </summary>
    /// <param name="uId"></param>
    /// <param name="sId"></param>
    /// <returns></returns>
    List<CourseListVo> CourseList(long uId, long sId);

    /// <summary>
    ///     课程视频
    /// </summary>
    /// <param name="uId"></param>
    /// <param name="cId"></param>
    /// <returns></returns>
    Tuple<StudyVideoVo, string> StudyVideo(long uId, long cId);

    /// <summary>
    ///     播放进程记录
    /// </summary>
    /// <param name="uId"></param>
    /// <param name="dto"></param>
    /// <returns></returns>
    void AddPlayProcess(long uId, AddPlayProcessDto dto);
}